layui.use(['table','layer'],function(){
    var layer = parent.layer === undefined ? layui.layer : top.layer,
        $ = layui.jquery,
        table = layui.table;

    /**
     * 加载计划项数据表格
     */
    var tableIns = table.render({
        id:"cusDevPlanTable",//用于头部工具栏删除的id
        elem: '#cusDevPlanList' //容器元素的id属性值
        ,height: 'full-125' //容器的高度 full-差值
        ,cellMinWidth: 95 //单元格最小宽度
        ,url: ctx + '/cus_dev_plan/list?saleChanceId=' + $("[name='id']").val()//访问数据的URL(后台的数据接口)
        ,page: true //开启分页
        ,limit: 10 //默认每页显示的条数
        ,limits: [10,20,30,40,50] //分页每页数据可选项
        ,toolbar:'#toolbarDemo' // 开启头部工具栏
        ,cols: [[
            // field：要求field属性值与返回的数据中对应的属性字段名一致
            // title：设置列的标题
            // sort：是否允许排序（默认：false）
            // fixed：固定列
            {type:'checkbox', fixed:'center'}
            ,{field: 'id', title: '编号',  sort: true, fixed: 'left'}
            ,{field: 'planItem', title: '计划项', align:'center'}
            ,{field: 'exeAffect', title: '执行效果', align:'center'}
            ,{field: 'planDate', title: '计划时间', align:'center'}
            ,{field: 'createDate', title: '创建时间', align:'center'}
            ,{field: 'updateDate', title: '更新时间', align:'center'}
            ,{title:'操作',templet:'#cusDevPlanListBar', fixed: 'right', align:'center', minWidth:150}
        ]]
    });


    /**
     * 监听头部工具栏
     */
    table.on('toolbar(cusDevPlans)',function (data) {
        if (data.event == "add"){ //添加计划项
            //打开添加/修改计划项的页面
            openAddOrEditCusDevPlanDialog();
        }else if(data.event == "success"){ //开发成功
            //更新营销机会的开发状态
            updateSaleChanceDevResult(2);
        }else if(data.event == "failed"){ //开发失败
            //更新营销机会的开发状态
            updateSaleChanceDevResult(3);
        }
    });

    /**
     * 监听行工具栏
     */
    table.on('tool(cusDevPlans)',function (data) {
            if (data.event === "edit"){ //更新计划项
                //打开添加/修改计划项的页面
                openAddOrEditCusDevPlanDialog(data.data.id);
            }else if (data.event === "del"){
                deleteCusDevPlan(data.data.id);
            }

    });

    /**
     * 打开添加或修改计划项的页面
     */
    function openAddOrEditCusDevPlanDialog(id) {
        //弹出层的标题
        var title = "<h2>计划项管理 - 添加计划项</h2>";
        var url = ctx + "/cus_dev_plan/toAddOrEditCusDevPlanPage?sId=" + $("[name='id']").val();

        //如果id不为空或不是空字符串，则表示是在进行更新操作
        if (id != null && id != ''){
            //更新计划项
            title = "<h2>计划项管理 - 更新计划项</h2>";
            url += "&id=" + id;
        }

        //iframe层
        layui.layer.open({
            type: 2, //类型
            title: title,  //标题
            area: ['500px','300px'],  //宽高
            content: url,  //url地址
            maxmin: true   //可以最大化可最小化
        });

    }

    function deleteCusDevPlan(id) {
        //弹出确认框询问用户是否确认删除
        layer.confirm("确定要删除该记录吗",{icon:3,title:"数据项管理"},function (index) {
            layer.close(index);

            $.ajax({
                type:"post",
                url:ctx + "/cus_dev_plan/delete",
                data:{id:id},
                success:function (result) {
                    //判断删除结果
                    if (result.code === 200){
                        //提示成功
                        layer.msg("删除成功！",{icon: 6});
                        //刷新表格
                        tableIns.reload();
                    }else {
                        //提示失败
                        layer.msg(result.msg,{icon: 5});
                    }
                }
            })
        })
    }

    /**
     * 更新营销机会的开发状态
     * @param devResult
     */
    function updateSaleChanceDevResult(devResult) {
        //弹出确认框，询问用户是否确认执行该操作
        layer.confirm("您确定执行该操作吗?",{icon:3,title:"营销机会管理"},function (index) {
            //得到需要被更新的营销机会的id(通过隐藏域获得)
            var sId = $("[name=id]").val();
            //发送请求，更新营销机会开发状态
            $.post(ctx + "/sale_chance/updateSaleChanceDevResult",{id:sId,devResult:devResult},function (result) {
                if (result.code == 200){
                    layer.msg("操作成功！",{icon:6});
                    //关闭窗口
                    layer.closeAll("iframe");
                    //刷新父界面
                    parent.location.reload();
                }else {
                    layer.msg(result.msg,{icon:5});
                }
            })
        })
    }
});
